# -*- coding: utf-8 *-*

#   This file is part of Sql-Rice.
#
#    Sql-Rice is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 3 of the License, or
#    (at your option) any later version.
#
#    Sql-Rice is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Sql-Rice; if not, write to the Free Software
#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

import Tkinter


class TextWidget(Tkinter.Frame):

    def __init__(self, widget_info, parent):
        Tkinter.Frame.__init__(self, parent)
        self.name = widget_info.name
        self._value = Tkinter.StringVar()
        self._entry = Tkinter.Entry(self, textvariable=self._value)
        self._label = Tkinter.Label(self, text=widget_info.name)
        self._entry.pack()
        self._label.pack(side='left', before=self._entry)
        self.skin = {}
        self.info = widget_info
        self._read_only = False

    @property
    def value(self):
        return self._value.get()

    @value.setter
    def value(self, rvalue):
        self._value.set(rvalue)

#    @property
#    def read_only(self):
#        return self._read_only
#
#    @read_only.setter

    def read_only(self, value):
        self._read_only = value
        if self._read_only:
            self._entry.configure(state=Tkinter.DISABLED)
        else:
            self._entry.configure(state=Tkinter.NORMAL)
